package com.luomu.base.api.cookBook.simple.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.luomu.base.api.bo.ReqPage;
import com.luomu.base.api.cookBook.excel.contant.TimestampDeserializer;

import java.util.Date;
import java.util.List;

public class FinanceArApAndInvoiceInfoReqBO extends ReqPage {
    /**
     * 发票号码
     */
    private String invoiceNumber;

    /**
     * 发票号码
     */
    private List<String> invoiceNumbers;

    /**
     * 开票日期 开始
     */
    @JsonDeserialize(using = TimestampDeserializer.class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date invoiceDateStart;

    /**
     * 开票日期 结束
     */
    @JsonDeserialize(using = TimestampDeserializer.class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date invoiceDateEnd;

    /**
     * 经办单位名称
     */
    private String purchaseUndertakeOrgName;

    /**
     * 应付单编号
     */
    private String arApBillNum;

    /**
     * 单据创建时间 开始
     */
    @JsonDeserialize(using = TimestampDeserializer.class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date arApCreateTimeStart;

    /**
     * 单据创建时间 结束
     */
    @JsonDeserialize(using = TimestampDeserializer.class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date arApCreateTimeEnd;

    /**
     * 应付单摘要
     */
    private String arApSummary;

    /**
     * 核算往来单位BP编码
     */
    private String hswlUnit;

    /**
     * 核算往来单位名称
     */
    private String hswlName;

    /**
     * 付款户名
     */
    private String payAccountName;

    /**
     * 付款账号
     */
    private String payAccountNo;

    /**
     * 付款日期 开始
     */
    @JsonDeserialize(using = TimestampDeserializer.class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date payDateStart;

    /**
     * 付款日期 结束
     */
    @JsonDeserialize(using = TimestampDeserializer.class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date payDateEnd;

    /**
     * 经办人
     */
    private String sourceBillCreateBy;

    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }

    public List<String> getInvoiceNumbers() {
        return invoiceNumbers;
    }

    public void setInvoiceNumbers(List<String> invoiceNumbers) {
        this.invoiceNumbers = invoiceNumbers;
    }

    public Date getInvoiceDateStart() {
        return invoiceDateStart;
    }

    public void setInvoiceDateStart(Date invoiceDateStart) {
        this.invoiceDateStart = invoiceDateStart;
    }

    public Date getInvoiceDateEnd() {
        return invoiceDateEnd;
    }

    public void setInvoiceDateEnd(Date invoiceDateEnd) {
        this.invoiceDateEnd = invoiceDateEnd;
    }

    public String getPurchaseUndertakeOrgName() {
        return purchaseUndertakeOrgName;
    }

    public void setPurchaseUndertakeOrgName(String purchaseUndertakeOrgName) {
        this.purchaseUndertakeOrgName = purchaseUndertakeOrgName;
    }

    public String getArApBillNum() {
        return arApBillNum;
    }

    public void setArApBillNum(String arApBillNum) {
        this.arApBillNum = arApBillNum;
    }

    public Date getArApCreateTimeStart() {
        return arApCreateTimeStart;
    }

    public void setArApCreateTimeStart(Date arApCreateTimeStart) {
        this.arApCreateTimeStart = arApCreateTimeStart;
    }

    public Date getArApCreateTimeEnd() {
        return arApCreateTimeEnd;
    }

    public void setArApCreateTimeEnd(Date arApCreateTimeEnd) {
        this.arApCreateTimeEnd = arApCreateTimeEnd;
    }

    public String getArApSummary() {
        return arApSummary;
    }

    public void setArApSummary(String arApSummary) {
        this.arApSummary = arApSummary;
    }

    public String getHswlUnit() {
        return hswlUnit;
    }

    public void setHswlUnit(String hswlUnit) {
        this.hswlUnit = hswlUnit;
    }

    public String getHswlName() {
        return hswlName;
    }

    public void setHswlName(String hswlName) {
        this.hswlName = hswlName;
    }

    public String getPayAccountName() {
        return payAccountName;
    }

    public void setPayAccountName(String payAccountName) {
        this.payAccountName = payAccountName;
    }

    public String getPayAccountNo() {
        return payAccountNo;
    }

    public void setPayAccountNo(String payAccountNo) {
        this.payAccountNo = payAccountNo;
    }

    public Date getPayDateStart() {
        return payDateStart;
    }

    public void setPayDateStart(Date payDateStart) {
        this.payDateStart = payDateStart;
    }

    public Date getPayDateEnd() {
        return payDateEnd;
    }

    public void setPayDateEnd(Date payDateEnd) {
        this.payDateEnd = payDateEnd;
    }

    public String getSourceBillCreateBy() {
        return sourceBillCreateBy;
    }

    public void setSourceBillCreateBy(String sourceBillCreateBy) {
        this.sourceBillCreateBy = sourceBillCreateBy;
    }
}
